package com.itheima.service;

import com.itheima.entity.PageResult;
import com.itheima.entity.QueryPageBean;
import com.itheima.pojo.Menu;

import java.util.List;

import java.util.List;
import java.util.Map;

/**
 * 菜单管理 服务层接口
 */
public interface MenuService {
    /**
     * 分页查询
     * @param queryPageBean 分页查询的条件
     * @return 返回当前页的所有菜单数据
     */
    PageResult findPage(QueryPageBean queryPageBean);

    /**
     * 添加菜单
     * @param menu
     * @return
     */
    boolean add(Menu menu);

    /**
     * 根据 id 查询菜单
     * @param id 菜单id
     * @return
     */
    Menu findById(Integer id);

    /**
     * 根据 id 删除菜单
     * @param id 菜单id
     * @return
     */
    boolean delete(Integer id);

    /**
     * 编辑菜单
     * @param menu
     * @return
     */
    boolean edit(Menu menu);

    /**
     * 查询所有菜单数据
     * @return
     */
    List<Menu> findAll();

    /**
     * 根据角色id获取该角色关联的所有菜单项id
     * @param roleId 角色id
     * @return
     */
    List<Integer> findByRoleId(Integer roleId);

  //根据登录名查询菜单
    List<Map<String, Object>> findMenuByUserName(String username);
}
